﻿using System;

namespace Chisel.Core
{
    /// <summary>
    /// Interface for classes that listen for changes in canvas selection.
    /// </summary>
    public interface ISelectionListener
    {
        /// <summary>
        /// This gets called when an actor is added to the selection.
        /// </summary>
        void OnSelect(Actor actor);

        /// <summary>
        /// This gets called when an actor is removed to the selection.
        /// </summary>
        void OnDeselect(Actor actor);

        /// <summary>
        /// This gets called when everything is selected.
        /// </summary>
        void OnSelectAll();

        /// <summary>
        /// This gets called when the selection is cleared.
        /// </summary>
        void OnDeselectAll();

    }
}
